"""
要覆盖 seleniumbase/config/settings.py 中存储的默认设置，
在此处更改值并在运行时添加“--settings=custom_settings.py”。
"""

# 等待页面元素出现的默认超时值。
MINI_TIMEOUT = 2
SMALL_TIMEOUT = 10
LARGE_TIMEOUT = 20
EXTREME_TIMEOUT = 30

# 如果为 False，则只会保存最近一次测试运行的日志。
ARCHIVE_EXISTING_LOGS = False
ARCHIVE_EXISTING_DOWNLOADS = False # 只保存最近一次的下载文件

# 如果为 True，如果单击打开一个新选项卡，则自动切换到新选项卡。
# （仅当初始选项卡仍位于与以前相同的 URL 上时才会发生。）
SWITCH_TO_NEW_TABS_ON_CLICK = True

# 等待 Document.readyState 在浏览器操作后“完成”。
WAIT_FOR_RSC_ON_PAGE_LOADS = True
WAIT_FOR_RSC_ON_CLICKS = False
WAIT_FOR_ANGULARJS = True

# 更改演示模式的默认行为。激活：--demo_mode
DEFAULT_DEMO_MODE_TIMEOUT = 0.5
HIGHLIGHTS = 4
DEFAULT_MESSAGE_DURATION = 2.55

# 默认关闭浏览器的内容安全策略
DISABLE_CSP_ON_FIREFOX = True
DISABLE_CSP_ON_CHROME = False

# 如果 True 并且 --proxy=IP_ADDRESS:PORT 无效，则立即出错。
RAISE_INVALID_PROXY_STRING_EXCEPTION = True

# 打开新窗口进行测试时的默认浏览器分辨率。
#（无头分辨率优先，包括所有浏览器。）
# （Firefox 在 GUI 模式下运行时默认启动最大化。）
CHROME_START_WIDTH = 1250
CHROME_START_HEIGHT = 840
HEADLESS_START_WIDTH = 1440
HEADLESS_START_HEIGHT = 1880

# 更改 MasterQA 模式的默认行为。
MASTERQA_DEFAULT_VALIDATION_MESSAGE = "Does the page look good?"
MASTERQA_WAIT_TIME_BEFORE_VERIFY = 0.5
MASTERQA_START_IN_FULL_SCREEN_MODE = False
MASTERQA_MAX_IDLE_TIME_BEFORE_QUIT = 600

# 谷歌身份验证器
#（对于使用基于时间的一次性密码算法的 2 因素身份验证）
#（见 https://github.com/pyotp/pyotp 和 https://pypi.org/project/pyotp/）
#（也适用于 Authy 和其他兼容的应用程序。）
# Usage: "self.get_google_auth_password()" (输出基于时间戳)
# 使用覆盖：“self.get_google_auth_password(totp_key=TOTP_KEY)”
TOTP_KEY = "base32secretABCD"

# MySQL 数据库凭据
#（用于将测试数据保存到 MySQL 数据库）
# 用法：“--with-db_reporting”
DB_HOST = "127.0.0.1"
DB_PORT = 3306
DB_USERNAME = "root"
DB_PASSWORD = "test"
DB_SCHEMA = "test_db"

# Amazon S3 存储桶凭据
#（用于保存测试中的屏幕截图和其他日志文件）
#（存储桶名称在 Amazon S3 中的所有现有存储桶名称中是唯一的）
# 用法：“--with-s3_logging”
S3_LOG_BUCKET = "[S3 BUCKET NAME]"
S3_BUCKET_URL = "https://s3.amazonaws.com/[S3 BUCKET NAME]/"
S3_SELENIUM_ACCESS_KEY = "[S3 ACCESS KEY]"
S3_SELENIUM_SECRET_KEY = "[S3 SECRET KEY]"

# 加密设置
#（用于字符串/密码混淆）
#（您应该为 SeleniumBase 的每个克隆重置加密密钥）
ENCRYPTION_KEY = "Pg^.l!8UdJ+Y7dMIe&fl*%!p9@ej]/#tL~3E4%6?"
# 这些令牌被添加到混淆密码的开头和结尾。
# 帮助识别哪些字符串/密码已被混淆。
OBFUSCATION_START_TOKEN = "$^*ENCRYPT="
OBFUSCATION_END_TOKEN = "?&#$"
